1. Field of the Invention
The present invention relates to position encoders. More specifically, the present invention relates to digital position encoders used to determine the initial position of servo-mechanisms used in such diverse applications as robotics, machine tools and motorized car seats.
2. Description of the Related Art
Robotic systems typically have one or more movable arms or elements which, in many cases, must be precisely positioned on a repetitive basis for optimal performance. Position encoders are often used to provide an indication of a present position of a robot arm. This position information is compared with a target position to determine any change of position required for a particular operation.
Position encoders are classified as incremental, absolute and quasi-absolute. A typical incremental encoder includes a wheel with tally marks arranged in a circular array about the wheel. A sensor detects the passage of tally marks as the orientation of the wheel is changed. Generally, two sensors are arranged in quadrature so that the direction as well as the magnitude of the orientation change can be determined. The direction determination can be used to select the sign of a bidirectional counter which tracks motion as a function of the passage of tally marks.
An incremental encoder must be initialized relative to an origin to provide information as to absolute position. A method used in some plotters and printers is to slowly traverse the mechanism to one end and trip a micro-switch or opto-sensor. However, in many systems a return to an origin can be unesthetic, wasteful, and even dangerous as the position of the joint being initialized may be unknown. This is especially true for multi-axis robots where the position of one joint is dependent on the, also unknown, positions of other joints.
Absolute position encoders provide a readout of absolute position, thereby avoiding the problem with initialization movements that plagues incremental encoders. Gray encoders provide absolute position reading using multiple tracks of marks and a respective sensor for each track. The marks are designed so that each absolute position is represented by a unique combination of sensor outputs. The number of absolute positions that can be differentiated is limited to 2.sup.n, where n is the number of tracks. A typical 10-sensor Gray encoder can distinguish 1024 positions. A larger number of positions can be distinguished by using more tracks and sensors. However, the increased number of tracks adds to the manufacturing precision of the encoder since all of the tracks must align with each other, thus making the encoder uneconomical. The large number of sensors required also increases the cost of Gray encoders.
Quasi-absolute encoders require fewer sensors and tracks to provide equivalent position differentiations at the expense of requiring up to one revolution of motion for initialization. In effect, a quasi-absolute encoder distinguishes a certain number of absolute positions and provides additional resolution by interpolating between these positions in a manner similar to an incremental encoder. For example, U.S. Pat. No. 4,041,483 to Groff discloses a quasi-absolute "Groff" encoder which uses six sensors to read two gears, each with two tracks to distinguish 1024 positions. One track of each gear includes an index mark subtending a predetermined angle to indicate the orientation of that gear. The other track of each gear provides incremental interpolation of position for that gear. The gears have different numbers of teeth so that the index marks precess relative to each other during successive revolutions. The spatial phase angle between index marks provides a gross representation of absolute position. Distance from one of the (32) absolute positions is measured incrementally by counting (up to 32) tally marks.
The primary disadvantages of the absolute and quasi-absolute encoders is the limited number of states that can be distinguished. An incremental encoder can distinguish as many states as can be counted by the incorporated counter using a pair of sensors and a single wheel. The encoder wheel can turn as many times as required to cover a full range of motion. With proper gearing, any level of precision can be accommodated.
Theoretically, absolute and quasi-absolute encoders can be scaled and/or used in tandem to distinguish any number of states. However, the bulk, complexity and cost of providing an absolute encoder which distinguishes 1,000,000 states preclude its use in many applications. A comparable limitation applies to the quasi-absolute encoders even though fewer sensors and tracks are required. For example, the Groff encoder requires marks which subtend very precisely defined angles. Providing a Groff encoder which could distinguish 1,000,000 positions by increasing the differentiation provided by the incremental tracks would require very strict manufacturing tolerances to be met. These strict manufacturing tolerances would require high costs and quality control problems. The complexity of the logic and track patterning required for a 1,000,000+ state Groff encoder could present significant design challenges.
Thus, at one time, there was a need in the art for a position encoder which combined the range and precision of an incremental encoder with the convenience of absolute and quasi-absolute encoders. In other words, an encoder was needed which avoided the bulk, expense and complexity of absolute encoders and also avoided the need for a blind return to an initialization position required by incremental encoders. There was a further need for a position encoder which utilized relatively few sensors and required only moderate manufacturing tolerances.
This need was met by the invention disclosed and claimed in U.S. Pat. No. 5,038,243, entitled LOCAL INITIALIZATION FOR INCREMENTAL ENCODER, issued Aug. 6, 1991 to Gary B. Gordon and assigned to the Hewlett-Packard Company, the teachings of which are incorporated herein by reference. This patent discloses a position encoder for monitoring the position of a robot arm which includes an incremental encoder section which can be initialized locally by an initialization section. The initialization section comprises three engaged encoder gears with relative prime numbers of teeth, e.g., 23, 24 and 25 so that respective index apertures of the gears precess with successive revolutions of the gears. Upon startup, the robot arm can be moved sufficiently for all three apertures to be detected so that their relative phase positions can be determined. The relative phases can be used to determine an absolute initialization position. Once this initialization position is determined, robot motions can be tracked using the incremental encoder section.
The self-initializing system of the prior Gordon patent affords an adequate solution for "non-wrap-around" servo systems. Non-wrap-around servos involve primarily linear motion and are typified by X-Y milling tables, aircraft control surface actuators, plotters, lens servos, and vehicle seat position presets. As these systems do not repeat, the range of the encoder need only be greater than the range of travel of the axis.
Wrap-around servos involve rotational motion greater than 360 degrees and are typified by radar antennas, military gun and missile mounts, camera pan mounts, machine-tool rotary index tables, spindle drives, and lathe threading feeds.
Unfortunately, the system of the prior Gordon patent is limited with respect to wrap-around type systems. Such systems normally represent the full 360 degrees of rotation of the load as some integer power of two. A common number of states per revolution is 65536, the 16th power of two, a number that fills a 16-bit accumulator. Such a binary relationship facilitates computational speed and convenience. Inside the microprocessor, rotation is controlled by repetitively adding a fixed increment to an accumulator which becomes the demand signal for the servo. Wrap-around at the 360 degree point is accomplished automatically by simply discarding the accumulator's overflow bit.
As such wrap-around systems usually have binary gear reduction ratios (256:1 for example) between the drive motor and the load being rotated, position encoders are required which repeat at a binary rate. Use of the prior Gordon system for this purpose would require significant changes in the gear box such that the reduction ratio would become some even divisor of 600, such as 300:1. These changes would be undesirable for the usual binary servo-system.
Binary encoders are known in the art. Conventional binary encoders are typically constructed with cascaded multi-stage gear boxes with high reduction ratio gears. Unfortunately, the conventional binary encoders are generally complex, elaborate and expensive structures which require precise alignment, numerous opto-sensors and many electrical connections.
Accordingly, a need remains in the art for a simple, inexpensive binary locally-initializing incremental encoder which allows for an ease of alignment in manufacturing and which does not require numerous opto-sensors or electrical connections.